In computing environments, memory is employed to store data for use in, or resulting from execution of, computations associated with computing functionality of the computing environment. The speed and accuracy with which data may be written to and read from memory may be a limiting factor regarding the speed at which a computing environment may be executed. In this regard, it may be appreciated that the ability to accurately and rapidly write data to and read data from a memory may improve the speed at which the computing environment may be executed and, thus, improve the computing efficiency of the computing environment.
One example of particular type of memory that may assist in the rapid execution of read and write functionality with respect to a memory includes a multibank memory. A multibank memory includes a plurality of memory banks, each having a plurality of indexes corresponding to memory locations at which data may be stored. In this regard, multibank memory may be useful because independent memory commands (e.g., write and/or read commands) may be addressed to, and carried out with respect to, different respective ones of the plurality of memory banks simultaneously, thus improving the speed and efficiency of the memory.
However, in the use of a multibank memory, a condition may exist where memory commands addressed to the multibank memory may not be properly executed in the memory. These conditions may be referred to as a collision. For example, where more than one memory command is addressed to different indexes in the same memory bank, the memory commands may be not able to be executed, and a collision may occur should the memory commands be attempted. Accordingly, absent a mechanism to detect the potential collision, execution of colliding memory commands may result in false reads, false writes, corrupted memory, or other problems that may detract from the accuracy and speed from which, or to which, the memory may be read or written. Accordingly, detection of data collisions may be desirable by way of scrutinizing memory commands to detect the occurrence of a data collision.